In a telephone channel having a four-wire long distance PCM trunk, hybrid circuits are connected for 2wire-4wire conversion. The hybrid circuits at each end of a call interface two-wire subscriber loops to the four-wire long distance PCM trunk. The near-end echo of a far-end talker on the transmit path through a hybrid circuit is returned to the talker who perceives it as an echo.
FIG. 1 shows the basic structure of a conventional echo canceller with 64 kbit/s PCM interfaces for cancelling the echo in a PCM telephone channel. The input and output signals of the echo canceller (1) are assumed to be digitized with either 8-bit .mu.- or A-law PCM and are processed digitally. The 8-bit PCM receive input signal Rin from the far-end talker is fed to a receive input port (2). The 8-bit PCM transmit input signal Sin at a transmit input port (5) is returned as the near-end echo over the echo path including at least a PCM coder (16) and a PCM decoder (15), which corresponds to a circuit from a receive output port (3) to the transmit input port (5) through the hybrid circuit (4). The 8-bit PCM receive output signal Rout from the port (3) is decoded to an analog signal through the PCM decoder (15). The hybrid circuit (4) transmits the analog signal through a port (17) to the near-end talker. A part of the analog signal at the hybrid circuit (4) is leaked as an echo to the transmit path and is encoded through the PCM coder (16). The conventional echo canceller (1) synthesizes a replica of the near-end echo by an echo estimator (6) and suppresses the echo by subtracting this replica at a subtracter (7) from a linear transmit input signal, which is converted from the 8-bit PCM transmit input signal Sin through a linear code converter (13). A residual echo derived as an output of the subtracter (7) is fed to a center clipper (8) as a non-linear unit to clip the residual echo having a level lower than a given threshold, and/or is converted to a 8-bit PCM code through a non-linear code converter (14) to be transmitted from the transmit output port (9) of the echo canceller (1) having a 64 kbit/s PCM interface.
A double talk detector (10) is provided for detecting the double talk situation between the near- and far-end talkers, and a low level detector (11) is also provided for detecting a linear receive input signal having a level lower than a given threshold derived through a linear code converter (12). In the double talk detector (10), levels of the linear transmit input signal and the linear receive input signal are compared to detect the double talk situation.
In the echo estimator (6) which comprises an adaptive digital transversal filter having a finite impulse response (FIR), filter coefficients of the filter are adaptively updated according to the residual echo and the linear receive input signal stored in the echo estimator (6) so as to minimize the level of the residual echo either at every sample time or at every sample interval. The updating of the filter coefficients is inhibited during double talking or during the period when the low level detector (11) detects a linear receive input signal having a low level.
In the case of an echo canceller having PCM interfaces so as to connect it with the PCM telephone channel, the quantization noise is always induced by the non-linear process of the PCM codecs (15,16) in the echo path, resulting in degraded performance of the echo cancellation. Because the quantization noise in the linear transmit input signal is independent of the linear receive input signal, it cannot be estimated by the echo estimator (6) which uses only the linear processing by the FIR filter. The updating of the filter coefficients in the echo estimator (6) by the residual echo containing the quantization noise also results in a deviation of the impulse response of the echo estimator (6) from the optimum, inducing a degradation of the echo cancellation performance. The echo cancellation performance is limited by the amount of the quantization noise.
In a multi-linked PCM telephone channel, PCM codecs are inserted after the PCM decoder (15) and/or before the PCM coder (16) in the echo path. The tandem connection of the PCM codecs produces a large amount of the quantization noise relative to the number of PCM codecs. When a low rate codec like a 32 kbit/s ADPCM or a codec having a rate lower than 16 kbit/s is applied instead of the PCM codec, a larger amount of quantization noise is produced by the codec. Thus, the echo cancellation performance always degrades due to a PCM tandem connection or a low rate codec connection. This degradation cannot be avoided by using only the linear processes in a conventional echo canceller. It is therefore very difficult for the echo canceller (1) to achieve a high echo cancellation performance under these circumstances.
FIG. 2 shows a conventional acoustic echo canceller (40) used in a tele-conference or a TV conference. A linear receive input signal and a transmit input signal are directly fed to the receive input port (2) and the transmit input port (5), respectively. A linear receive output signal Rout at the port (3) is fed to a speaker at the port (172) after converting it to an analog acoustic signal through a D/A converter (18). An analog acoustic signal at a port (171) from a microphone is also converted to a linear transmit input signal through an A/D converter (19). A part of the analog acoustic signal from the speaker is also fed to the A/D converter (19) in the transmit path through the microphone as an echo in the echo path.
The A/D and D/A converters (18,19) induce a quantization noise which cannot be cancelled by the acoustic echo canceller (40) due to non-linear processing as in the PCM echo canceller mentioned above. If the length of a quantization bit in the A/D and D/A converters (18,19) is short, a large amount of quantization noise is produced, resulting in a degradation of acoustic echo cancellation. A longer bit length requires a huge amount of processing in the acoustic echo canceller having a very high sampling frequency due to a wide transmission bandwidth and a long echo path delay.
FIG. 3 is a basic structure of another echo canceller (50) having a non-linear quantization processor to reduce the quantization noise in the linear transmit output signal for a PCM telephone channel as described in U.S. Pat. No. 5,247,512. The echo canceller (50) can cancel the quantization noise when the echo estimate (6) successfully converges to provide an accurate echo estimate.
The echo canceller (50) comprises an echo estimator (6); a non-linear quantization processor (20) for generating a new echo estimate containing a quantization noise as the output corresponding to the echo estimate from the echo estimator (6); a subtracter (7) for obtaining a residual echo as the linear transmit output signal sent to the far-end; a switch circuit (21) for connecting either the output of the echo estimator (6) or the output of the non-linear quantization processor (20) with the subtracter (7) so as to subtract the output at a first input of the subtracter (7) from the linear transmit input signal at a second input of the subtracter (7); and a switch controller (22). The switch controller (22) controls the switch circuit (21), the non-linear quantization processor (20) and the echo estimator (6).
In the non-linear quantization processor (20), the echo estimate from the echo estimator (6) as an input at the port (201) is converted into a PCM code and then is inverse-converted again to a linear code having a quantization noise as a new echo estimate which is output at a port (202). The non-linear quantization processor (20) can therefore provide a new echo estimate which has the same value as that of the linear transmit input signal including a quantization noise or a value very close to it. In the echo estimator (6), the adaptation speed for the filter coefficient updating is adjusted according to the convergence/divergence state of the echo estimator (6) which is determined by the switch controller (22).
Two processing modes are provided, that is, a linear processing mode and a non-linear processing mode. The processing mode is chosen by the switch controller (22), according to the convergence/divergence state of the echo estimator (6). In the switch controller (22), the power of the linear transmit input signal and the power of the residual echo are calculated for comparison so as to judge the convergence/divergence state in the echo estimator (6) and select either the non-linear or linear modes.
When the switch controller (22) judges the echo estimator (6) to be convergent, the switch controller (22) selects the non-linear processing mode and then controls the switch circuit (21) to connect the non-linear quantization processor (20) to the subtracter (7). The output of the non-linear quantization processor (22) is then supplied through the switch circuit (21) to the first input of the subtracter (7) so as to cancel the echo and the quantization noise in the linear transmit input signal at the second input of the subtracter (7).
In the linear processing mode selected by the switch controller (22) due to divergence in the echo estimator (6), the output of the echo estimator (6) is directly supplied to the subtracter (7) through the switch circuit (21) to obtain the same residual echo as in the conventional echo canceller. The divergent echo estimator (6) cannot provide an echo estimate which is sufficiently accurate for generating an appropriate quantization noise for the linear transmit input signal. The non-linear processor (20) is therefore bypassed by controlling the switch circuit (21) in this mode.
In the initial stage of the echo canceller (50), the linear processing mode is selected due to divergence. After judgement of convergence in the echo estimator (6), the switch controller (22) selects the non-linear processing mode to ultimately cancel the quantization noise in the linear transmit input signal.
During double talking, the switch controller (22) constrains the switch circuit (21) to bypass the non-linear quantization processor (20), as the near-end talker's talkspurt is considerably affected by the non-linear quantization processor (20). The same procedures for the adaptation speed in the echo estimator (6) are executed as those in the above conventional echo canceller in the double talk situation or the low level situation in the linear receive input signal.
FIG. 4 shows a basic configuration of the non-linear quantization processor (20). The non-linear quantization processor (20) comprises a multi-output non-linear quantizer (210) and an optimum echo estimate selector (211). The multi-output non-linear quantizer (210) provides a plurality of quantized echo estimates for the optimum echo estimate selector (211) as candidates for an optimum echo estimate giving a minimum level of the residual echo of the output at the subtracter (7). These candidates of quantized echo estimates include the quantized echo estimate directly corresponding to the echo estimate from the echo estimator (6) through the port (201) and also quantized echo estimates near to it. The optimum echo estimate can be provided as the output of the optimum echo estimate selector (211), giving the minimum level of the residual echo among the candidates.
The non-linear quantization processor (20) can search the optimum echo estimate from a wide range of candidates to reduce the quantization noise in the transmit input signal. The non-linear quantization processor (20) can always suppress the residual echo as much as possible, even if the echo estimate from the echo estimator (6) largely deviates from the linear transmit input signal with incomplete convergence. This means that the deviation of the filter coefficients in the echo estimator (6) cannot be precisely updated by this minimized residual echo so as to make the echo estimator (6) converge rapidly during the incomplete convergence, resulting in incomplete cancellation of large echo and quantization noise. It is thus difficult for the echo canceller (50) to achieve a very rapid convergence in the echo estimator (6) for a large echo and to perform excellent cancellation of echo having a wide dynamic range of levels and quantization noise.
In the above circumstances, no previous echo canceller was able to provide sufficiently high performance with a rapid convergence in the echo estimator (6) and excellent cancellation of the echo having a wide range of levels and the quantization noise. This invention however provides a new echo canceller which can resolve these problems.